home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 1 Issue 2
/
PDCD-1 - Issue 02.iso
/
_utilities
/
utilities
/
003
/
_filer
/
!Filer-
/
!Help
next >
Wrap
Text File
|
1994-09-08
|
16KB
|
433 lines
!Filer- version 2.0
___________________
1.1 -> 2.0 changes
==================
pinboard menu items changed from text to 'pointer sensitive' sprites.
looks nicer, but the sprites must go into the Wimp sprite pool and
if you add new devices to the pinboard menu you'll have to find
appropriate sprites for them
the pinboard menu configuration stuff has been moved out of !RunImage.
a dedicated program is used to create needed data from a list of
device/sprite pairs. see !Filer-.PinBrdMenu.!Help
if a 'normal' menu item is a directory, the icon won't invert when
the pointer's over it, but RiscPC's small_diro (o=open) sprite will
be displayed instead. (low res small_diro is 'used'. if you mostly work
in a high resolution mode, replace !Filer-.PinBrdMenu.Sprites.small_diro
with Stuff.small_diro.higháres (don't forget to rename it). Still better
put both into ResoIcons/IconSwitch, whatever your low/high res icon
switcher's name is. if you are a RiscPC, you can do even better: delete
small_diro from !Filer-.PinBrdMenu.Sprites)
the 'missing hand' feature (see below) has been added
(it's about opening directories, something a filer does ?)
--
2.0 !RunImage is 14071-13420 bytes longer than 1.1 and it adds 3640 bytes to
your Wimp sprite pool. so, it comes with the 1.1 !RunImage in Stuff.Greyish
bug fixes
=========
when you got the 'Too menu menus' error (RISC OS' 8 menus limit) and
clicked on 'OK' in the error box, Filer- fell into the infinite
'Not a heap block' error loop, which you could leave only by quitting
Filer- (clicking 'Cancel'). this has been corrected in both 1.1 and 2.0 .
you still get the error box, but can safely click upon 'OK' to ignore
the error.
the modified 1.1 !Help follows
{ stuff in {} brackets applies to 2.0 only }
--
Who's that girl ?
=================
'Filer' in its name tells us that it's a kind of a filer
'-' in its name tells us that it's less than a filer
Like the Filer it allows you to 'walk' through the directory tree
of a filing system and manipulate objects.
Unlike the Filer it does the first very quickly because it's 'menu driven',
but is not very good at the latter - it only Filer_Run's objects which means
that files can be run and loaded and directories opened; you still need the
'right' Filer to change file types, stamp files etc.
How to use it...
================
There are three ways of getting a Filer- menu.
1) If there's an opened directory viewer on your desktop,
position the pointer over it and click MENU while holding down
the Alt key (either the left or the right one). The menu that
appears shows the contents of the directory (the viewer is already
displaying...) and looks like
+------------+
| dir name | the title holds the name of the directory
+------------+
| Up ë | leads to the parent dir
| some dir ë | go right to get further down the tree or click to open
| some file | click to run/load somewhere
| etc... |
If you're in the root directory ('dir name' = $ ), there's no parent and
so 'Up' leads to a 1-item submenu named 'FS::Disc' holding the name
of the Filing System and the name/number of the Disc the dir is 'on'.
To get into an application directory, click SELECT/ADJUST over its menu
entry while holding down Shift. Clicks with ADJUST keep the menu alive
(of course)
{ in 2.0, you can use a 'long SELECT click': click on an 'application
item' with SELECT and hold the button down for a while. you MUST NOT
'long ADJUST click' upon a Filer- menu item; see 'Problems' below }
2) Click ADJUST over any of the FS Filers (eg ADFS floppy, RAMFS).
You get a menu similar to the above for the root directory of the device.
The ResourceFS is an exception: here you get the $.Apps menu, just like
when you click SELECT over the Apps icon.
3) To get the 3rd method to work 100% you most probably will need to do
some reconfiguration, as !Filer- as you've got it is configured to
run on my machine which is very likely to be different to yours.
Some things will work though so let's try it...
Click MENU over the Pinboard. You'll get:
+----------+
| Filer- | menu title
+----------+
| Floppy ë | leads to ADFS::0.$
| HDrive ë | IDEFS::4.$
| RAM ë | RAM:$
| ROM ë | ResourceFS:$
| Memfis ë | MemFS:$
+----------+
{ in 2.0, you have sprites instead of text. the sprites are in Sprites
in the directory !Filer-.PinBrdMenu . see !Help in the same place }
Now you see why it could fail to work properly on your system.
If you haven't got a filing system from the above list and follow
the ë in 'its' menu entry, the 'Filing system not present' error
will be generated which Filer- will trap and open a submenu with
a greyed out 'Not present' entry.
This is curable by
Customising the pinboard menu
=============================
!Filer- comes with 2 variants of the same module: Alt_No and Alt_Yes
(in the !Filer-.PinBrdMenu directory. the module is titled
FiPiFi: FIler PInboard FIlter)
If Alt_No is being used you get Filer-'s 'pinboard (alias desktop) menu'
when you click MENU over the Pinboard window.
If Alt_Yes is being used you get the menu when you click MENU over the
Pinboard window AND are holding down the Alt key (either left or right).
You tell Filer- which one to use in !Filer-.!Run (see there, it's easy...)
To adapt the pinboard menu to your system involves hacking the source code
a bit, but because of various important reasons i've already forgotten i
decided to do it this way...
{ no hacking needed in 2.0, read !Filer-.PinBrdMenu.!Help }
--
(1.1 only, but read it anyway)
The menu layout and the physical devices associated with the menu
items are specified in two ╣ DATA lines at the start of !Filer-.!RunImage:
DATA pmi 1, pmi 2, ... , pmi N,
DATA dev 1, dev 2, ... , dev N,
Remember that spaces BEFORE a , are prepended to a DATA string but spaces
BEHIND a , are not : reading 'DATA a , b' yeilds the strings "a " and "b".
This is important when specifying device names.
Both lists (must) end in the invisible (of course) empty string
If you don't like invisible things put a "" after the final ,
Å a pinboard menu item (1st DATA line) can be any string you like, except:
- it must not contain the full stop (.) character
- only the first 12 characters are 'significant'
('' for it's a stupid word; but not all ''-words are)
Å a device specification (2nd DATA line) is of the form
FilingSystemName:[:DriveNumber] or
FilingSystemName:[:DriveName]
(stuff in square brackets [] is optional)
These are prepended to the $.etc part of an object's path name and
thus must follow the given format
Note: the code that builds the pinboard menu assumes it has at least one
item in it. To get the exotic '< 1 item' case do not doubleclick over the
!Filer- icon when you see it in a directory viewer window
Examples
--------
1) You have one ADFS floppy (yeah) and one IDE hard drive called IDEDisc4
So you say:
DATA Advanced FS, I Do Easy,
DATA ADFS:, IDEFS::IDEDisc4,
On a(n) (Alt)MENU Filer- pops up:
+---------------+
| Filer- |
+---------------+ when you go right and click over, for instance
| Advanced FS ë | $.dir.file -> (a)
| I Do Easy ë | $.dir -> (b)
| ... ë |
then Filer_Run ADFS:$.dir.file (a)
IDEFS::IDEDisc4.$.dir (b)
will be executed.
In (a), the filer looks for the object on the *Configure'd ADFS drive,
which is drive 0 on a 1 FD machine (at least on mine)
Now imagine this scenario:
- you get a job (hey! congrats!)
- you add the second floppy to your system
- you *Configure drive 1
- but you still want: Advanced FS = ADFS::0
See it? You must change ADFS: into ADFS::0 .
So, why not do it right right from the start? Specifying the drive number
(name when applicable) makes the existing menu 'constant' and any changes
are due to new items only - just add a new menu entry for drive 1:
DATA old stuff, Rockefeller, old stuff,
DATA old stuff, ADFS::1, old stuff,
2) You have 2 ADFS floppies and one ADFS hard drive called Drive4
So you say:
DATA Floppy 1, Floppy 2, Hard Chair,
DATA ADFS::0, ADFS::1, ADFS::4,
^^^^^^^
could say ADFS::Drive4 of course
On a(n) (Alt)MENU Filer- pops up:
+--------------+
| Filer- |
+--------------+ when you go right and click over
| Floppy 1 ë | $.dir.file -> (a)
| Floppy 2 ë | $.dir -> (b)
| Hard Chair ë | $.dir.object -> (c)
| ... ë |
then Filer_Run ADFS::0.$.dir.file (a)
ADFS::1.$.dir (b)
ADFS::4.$.dir.object (c)
will be executed.
Here, you must give the full specification to get a 1-to-1 relationship
between the menu items and the ADFS devices.
╣ If you have more than about 256/12 filing systems on your machine a DATA
line can get too long for BASIC to cope. Just split it in as many chunks
as needed. It's the order of the lines that is important: first come the
menu entries then the devices.
(end '1.1 only, but read it anyway')
--
After you've got your menu running you might want to change the
position of the pointer relative to it. In the original the menu pops up
so that the pointer is over the second item (cause it's my hard disc) close
to the right edge of the menu (to take off quickly). To change this, play
with the NUMBERS in
x%-=136 : y%+=12
in line 226 (still don't need to know any BASIC, just what numbers are).
{ in original 2.0, this is line 238 and it reads: x%-=120 : y%+=24 }
--
Going 'Up ë'
============
1) If you're in the root directory and click over 'Up ë' or go 'Up ë' right,
Filer- pops up the 'FS::Disc' (sub)menu:
+-----------------+
| FS::Disc |
+-----------------+
| ADFS::StarFight | for example
+-----------------+
If no disc name/drive number has been associated with a 'device', just
the Filing System name is displayed. Say, you had configured
DATA RamBaLam, ..., { RAM: }
DATA RAM:, ..., { spritename }
^
{ a 2-lines entry in !Filer-.PinBrdMenu.Devices }
then you get +----------+
| FS::Disc |
+----------+
| RAM: |
+----------+
2) However, if you're somewhere deeper in the mud and you click on 'Up ë' with
Å SELECT : the parent directory will be opened and the menu gone
Å MENU : only the menu of the parent directory will be created
Å ADJUST : the parent directory will be opened and its menu built
Going 'Up ë' right works as expected.
This and that
=============
Å Quit from Task Manager
Å When your Archi is very busy it can happen that the Filer- doesn't
'get' an ADJUST over a FS Filer icon (this often happens when you're
reading a DOS floppy). Just hold the button down for a while
Å Some 'editor-applications' (even some by Acorn) conform to Acorn's guide
lines (or whatever it's called) and open the parent directory of a file
being edited when you close editor's window displaying the file by clicking
on the close icon with ADJUST (uff!). If you hold the button a tiny bit
longer than 'normal', Filer- catches the 'event' and doesn't let it through
to the Filer, ie. you don't get a directory viewer of the document's
parent directory but a Filer- menu of it instead. So don't stick to ADJUST
to get the former.
Å Runs on a RiscPC (but isn't mentioned in !Products)
Problems
========
1) Paul Denize (pdenize@waikato.ac.nz) reported that Filer- 1.0 crashed when
the computer has been shutdown with Stuart Hickinbottom's !Shutdown
application. So hard I tried, I could not reproduce it on the best
machine in this dull (well, sometimes) world (I have an a310, 4 mt,
RISC OS 3.11, soldered it in myself, ADFS, IDEFS, standard speaker).
However, in case anybody else is less lucky than me, here's the solution
suggested by Paul:
starting at line 18 { 8 } in original !Filer-.!RunImage,
there's a list of Wimp messages for the window manager.
After the first line
[OPT 0 ; Mr. WindowManager, please let these messages through
insert the following:
& 8 ; PreQuit
^^^^^^^^^ you can leave this out
Then go to line 123 { 134 }
WHEN 0 : PROCbye
and change it to read
WHEN 0,8 : PROCbye
This should fix ... ehrm ... that.
2) Paul also reported Filer- getting into trouble with a certain
*Configure'd Drive. To avoid such problems, always specify the
filing system AND the drive name/number in the DATA-lines
{ in !Filer-.PinBedMenu.Devices } for the pinboard menu.
3) If the Filer/Pinboard died and you revived it
(*RMReinit Filer/Pinboard, *Desktop) but don't get the FS/pinboard menu,
issue a *RMReinit FiPiFi. Filer- listens for the TaskInitialise message
and does itselt the reinit when the Filer or the Pinboard restart, but
sometimes it doesn't work (don't ask why, the PRMs are 300 DM heavy)
4) There are some apps floating around that simulate a Shift-double click
by a long-double click ('normal' 2click but hold the button down for a
while after the second click). They won't do a proper long-double click
with ADJUST if they work like the one I use (mbf2, by a guy at the end).
A long ADJUST 2click over an application icon in a directory viewer is
supposed to open a viewer into the application directory and to close its
parent directory. When Filer-'s running, you'll get a menu instead. A long
SELECT 2click is ok though. This is because of the way Filer- works.
Also, when applied to a Filer- menu item, long 2clicks become long 1clicks,
as you click only once over a menu item to 'trigger' it. So you can get
into an application directory by clicking over its icon in the Filer- menu
with SELECT and holding the button down for a while. Do NOT use long ADJUST
as then you'll get the 'Invalid window handle' error and even on the best
machine in this dull (well, sometimes) world some apps (including the
IDEFS filer) get killed before I get what I wanted.
{ 2.0 has got the missing hand now }
5) on a RiscPC, when outline fonts are used, the menu width seems not
to be controllable by specifying items' width in the menu header,
and so certain long dir names in 'normal' Filer- menus bump into
the ë arrow and i suppose long file names will be truncated at the
right edge (i'm not talking about Spark archives where names can be
longer than 12 characters). the only (as no RiscPCman would switch back
to system font) solution seems to be to add as many spaces to the menu
title as needed to make the menu wide enough. while this isn't trivial
for normal menus, it's easy for the 'static' pinboard menu. the title
you want is "Filer-" in FN12("Filer-"), line 100 { 95 }. remember that
this string ^^^^^^ must not be longer than 12 chars (though it can't
anyway - FN12 will truncate)
Enjoy
=====
Enjoy !
Who's that guy ?
================
Franz Philipps
K÷slinerstr. 71a
76139 Karlsruhe
Germany
or (for another couple of months)
ig06@rz.uni-karlsruhe.de
these :-) are missing in several places